#![no_std]
#![no_main]
#![feature(pointer_is_aligned_to)]
#![allow(static_mut_refs)]
extern crate alloc;

mod io;
mod kernel_hal;
#[macro_use]
mod logging;
mod mimalloc;
mod uart;

use core::{arch::global_asm, panic::PanicInfo};

global_asm!(include_str!("boot.s"));

#[panic_handler]
fn panic_handler(info: &PanicInfo) -> ! {
    loop {}
}

#[unsafe(no_mangle)]
fn kernel_main() {
    println!("欢迎来到我的世界");
    let name = alloc::string::String::from("这是我的世界");
    println!("name: {}", name);
    loop {
        continue;
    }
}
